

#include "../include/AT91SAM7S64.h"					// Register-Definitionen
#include "timing.h"


#define LED1 AT91C_PIO_PA30							// LED1 angeschlossen an Port-Pin 30
#define LED2 AT91C_PIO_PA2							// LED1 angeschlossen an Port-Pin 30


int io_init() {
	AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_PIOA);	// PIO-Takt einschalten
	AT91C_BASE_PIOA->PIO_OER = LED1;				// Ausgang freigeben
	AT91C_BASE_PIOA->PIO_PPUDR = LED1;				// Pull-Up ausschalten
	AT91C_BASE_PIOA->PIO_OER = LED2;				// Ausgang freigeben
	AT91C_BASE_PIOA->PIO_PPUDR = LED2;				// Pull-Up ausschalten


	return 1;
}

void io_flashled (int lednum, int us) {
	io_ledon(lednum);
	delayus(us);
	io_ledoff(lednum);
}

void io_ledon(int lednum) {
	switch (lednum) {
			case 1:
				AT91C_BASE_PIOA->PIO_SODR = LED1;
				break;
			case 2:
				AT91C_BASE_PIOA->PIO_SODR = LED2;
				break;

		}
}
void io_ledoff(int lednum) {
	switch (lednum) {
			case 1:
				AT91C_BASE_PIOA->PIO_CODR = LED1;
				break;
			case 2:
				AT91C_BASE_PIOA->PIO_CODR = LED2;
				break;
		}

}
